草庐IT

java - 在java中打印正则表达式匹配

全部标签

ruby-on-rails - Rails 测试挂起 - 如何在执行前打印测试名称?

我在我们的Rails应用程序中进行了一次测试挂起,但无法确定是哪一个(因为它挂起并且没有收到失败报告)。我找到了这篇博文http://bmorearty.wordpress.com/2008/06/18/find-tests-more-easily-in-your-testlog/它添加了一个设置Hook来打印测试名称,但是当我尝试做同样的事情时,它给我一个错误,说设置参数的数量错误(1代表0)。任何帮助都将不胜感激。 最佳答案 如果您使用rake运行测试,它将起作用:raketest:unitsTESTOPTS="-v"

ruby-on-rails - Ruby:比较 2 个数组的匹配项,并计算匹配实例的数量

我有2个数组:@array1=[a,b,c,d,e]@array2=[d,e,f,g,h]我想比较两个数组以找到匹配项(d,e)并计算找到的匹配项数(2)?#yes,buthowtocountinstances?nomatchesfound...提前致谢~ 最佳答案 你可以用数组交集来做到这一点:@array1=['a','b','c','d','e']@array2=['d','e','f','g','h']@intersection=@array1&@array2@intersection现在应该是['d','e']。然后您可以

ruby - 另一种方法而不是转义正则表达式模式?

通常当我的正则表达式模式看起来像这样时:http://www.microsoft.com/然后我必须像这样逃避它:string.match(/http:\/\/www\.microsoft\.com\//)有没有其他方法而不是像那样转义它?我希望能够像这样使用它http://www.microsoft.com,因为我不想转义所有模式中的所有特殊字符。 最佳答案 Regexp.new(Regexp.quote('http://www.microsoft.com/'))Regexp.quote简单地转义任何具有特殊正则表达式含义的字符;

ruby - Sinatra 中的动词不可知匹配

我们可以写get'/foo'do...end和post'/foo'do...end这很好。但是我可以在一个路由中组合多个HTTP动词吗? 最佳答案 这可以通过multi-routeextension实现这是sinatra-contrib的一部分:require'sinatra'require"sinatra/multi_route"route:get,:post,'/foo'do#"GET"or"POST"prequest.env["REQUEST_METHOD"]end#Orformodule-styleapplicationsc

ruby - 具有命名捕获组的正则表达式在 Ruby 中获取所有匹配项

我有一个字符串:s="123--abc,123--abc,123--abc"我尝试使用Ruby1.9的新功能“命名组”来获取所有命名组信息:/(?\d*)--(?\s*)/是否有像Python的findall那样返回matchdata集合的API?在这种情况下,我需要返回两个匹配项,因为123和abc重复两次。每个匹配数据都包含每个命名捕获信息的详细信息,因此我可以使用m['number']获取匹配值。 最佳答案 命名捕获只适用于一个匹配结果。Ruby的findall类比是String#scan.您可以使用scan结果作为数组,或将

ruby 正则表达式 : match and get position(s) of

我想匹配一个正则表达式并获取匹配字符串中的位置例如,"AustinTexasDallasTexas".match_with_posn/(Texas)/我想要match_with_posn返回类似:[6,17]其中6和17是单词Texas的两个实例的起始位置。有这样的吗? 最佳答案 使用Ruby1.8.6+,你可以这样做:require'enumerator'#Onlyfor1.8.6,newerversionsshouldnotneedthis.s="AustinTexasDallasTexas"positions=s.enum_f

ruby - 匹配数组中的模式

有一个包含2个元素的数组test=["iamaboy","iamagirl"]我想测试是否在数组元素中找到了一个字符串,比如:test.include("boy")==>truetest.include("frog")==>false我可以那样做吗? 最佳答案 使用正则表达式。test=["iamaboy","iamagirl"]test.find{|e|/boy/=~e}#=>"iamaboy"test.find{|e|/frog/=~e}#=>nil 关于ruby-匹配数组中的模式,

ruby-on-rails - 查找日期时间与今天日期匹配的记录 - Ruby on Rails

我有一张交易表,需要查找日期与今天匹配的记录。在Rails控制台中,我需要匹配的日期字段如下所示。我已经分配了一条记录进行测试。ruby-1.9.2-p0>deal.start=>Tue,10May201100:00:00UTC+00:00如果我像这样尝试查找与开始日期匹配的任何记录,我会得到nilruby-1.9.2-p0>Deal.find_by_start(Date.today)=>nil然后我想我可以通过将Date.today转换为日期时间来匹配。ruby-1.9.2-p0>Date.today.to_datetime=>Tue,10May201100:00:00+0000ru

ruby - 在 Sinatra 中,你如何制作一个 "before"过滤器来匹配除某些路由之外的所有路由

我有一个RubySinatra应用程序,我有一些代码需要在除少数异常(exception)情况外的所有路由上执行。我该怎么做?如果我想在选定的路由(白名单样式)上执行代码,我会这样做:['/join',"/join/*","/payment/*"].eachdo|path|beforepathdo#somecodeendend我该如何反其道而行之(黑名单样式)?我想匹配除'/join'、'/join/*'和'/payment/*'之外的所有路由 最佳答案 负面前瞻:before/^(?!\/(join|payment))/do#..

ruby - Ruby 正则表达式中的 '?-mix' 是什么

只是想调试ruby​​中的正则表达式。当我打印正则表达式的内容时,它会在正则表达式的开头显示?-mix,即使这些字符不是表达式的一部分。请查看以下IRB输出以查看此说明irb(main):028:0*EXPR=/^a$/=>/^a$/irb(main):029:0>EXPR=>/^a$/irb(main):030:0>putsEXPR(?-mix:^a$)=>nil可以看到,当你使用puts打印出一个正则表达式的内容时,开头是?-mix。我应该为此担心吗?它来自哪里? 最佳答案 mix不是英文单词mix,而是Regexp的选项。参见